Fix OpenCode dashboard links - #2513
Conversation
fb112e2 to
98eb24a
Compare
|
Codex review: needs maintainer review before merge. Reviewed July 31, 2026, 12:25 PM ET / 16:25 UTC. ClawSweeper reviewWhat this changesChanges generic OpenCode and OpenCode Go dashboard links from the homepage to Merge readinessThe PR is a focused, source-confirmed dashboard-routing fix with sufficient redacted runtime proof and no discrete correctness or security finding. It should stay open for ordinary maintainer merge review; this repository's conservative onboarding profile does not permit automatic cleanup or closure here. Priority: P3 Review scores
Verification
How this fits togetherCodexBar’s menu-bar dashboard action selects a provider and resolves its destination URL before opening it with macOS. Most providers use descriptor metadata; OpenCode Go has a settings-aware route that keeps a configured workspace deep link and otherwise falls back to a generic destination. flowchart LR
A[Menu bar dashboard action] --> B[Selected provider]
B --> C{OpenCode Go?}
C -->|Yes| D[Workspace-aware URL helper]
C -->|No| E[Provider descriptor metadata]
D --> F[Browser destination]
E --> F
D --> G[Configured workspace deep link]
D --> H[Generic auth entry point]
Before merge
Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Merge the focused descriptor and fallback change after the maintainer confirms the current-head required-check state, keeping the existing workspace-specific OpenCode Go route intact. Do we have a high-confidence way to reproduce the issue? Yes, at source level: current main routes generic OpenCode through descriptor metadata and returns Is this the best way to solve the issue? Yes. Updating the shared descriptor metadata plus the single no-workspace helper fallback fixes every current dashboard-action path without changing configured workspace behavior, cookie handling, or provider fetching. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 8ef86077e70a. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (6 earlier review cycles)
|
|
@clawsweeper re-review The PR body now includes a redacted, inspectable after-fix production-code trace for the generic OpenCode, unscoped OpenCode Go, and configured-workspace routes. The temporary trace harness was deleted and was never committed or pushed. |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Summary
https://opencode.ai/authentry point instead of the public homepage/workspace/<id>/godeep linkWhy
The provider descriptors and the OpenCode Go fallback used the bare
https://opencode.aiURL, which opens the product homepage rather than the account flow. OpenCode's official provider documentation directs both Zen and Go users tohttps://opencode.ai/auth.When CodexBar already knows an OpenCode Go workspace, it still opens that workspace's Go dashboard directly. This change only fixes the generic fallback.
Behavior proof
https://opencode.ai.https://opencode.ai/auth./authreached OpenCode's authorization service.https://opencode.ai/workspace/wrk_abc123/go.Inspectable after-fix production-code trace (official
swift:6.3.3-nobleimage, digestsha256:66520bcba471018a34fd54ba09be97ba4abebd950a96ff5cb8c2bf50a2d33259):This trace calls
OpenCodeProviderDescriptor.descriptor.metadata.dashboardURLandOpenCodeGoUsageFetcher.dashboardURL(workspaceID:)directly. The scoped workspace IDis deliberately fictitious; no cookies, credentials, or account data were read or printed.
The temporary trace-only harness was deleted after the run and is not part of this PR.
Official reference: OpenCode provider documentation.
Existing issue / PR search
No matching issue or PR was found. The closest prior work was #667, which fixed the configured workspace deep link and was landed separately on
main; this patch preserves that behavior and fixes the remaining no-workspace fallback.Validation
make formatgit diff --checkmake checkportable checks and SwiftFormat passed; local SwiftLint could not load SourceKit because this machine has Apple Swift 5.10, while current CodexBar requires Swift 6.2+swift testwas likewise blocked locally by the Swift 5.10 toolchain